using System;
using System.Collections.Generic;
using System.Data;
using MySql.Data.MySqlClient;
using NEX_Datos;
using System.Text;
using NEXServicio;

namespace NEXServicio
{
    public class ServicioUsuario : ServicioPadre
    {
        #region Contantes

        public const String DataTableName = "Usuario";

        #endregion

        #region Metodos Privados
        private static DataSet ListarBibliotecaPrivado(int? idUsuario, int? idEstado)
        {
            DataSet ds = new DataSet();
            ds.Locale = System.Globalization.CultureInfo.CurrentCulture;
            using (MySqlCommand cmd = UtilidadAD.CreateSqlCommand())
            {
                cmd.CommandText = "Libro_X_UsuarioTraer";
                SetearConNulo("p_idUsuario", cmd, MySqlDbType.Int32,idUsuario);
                SetearConNulo("p_idEstado", cmd, MySqlDbType.Int32, idEstado);

                using (MySqlDataAdapter da = new MySqlDataAdapter(cmd))
                {
                    da.Fill(ds);
                }
                cmd.Connection.Close();
            }
            ds.Tables[0].TableName = ServicioUsuario.DataTableName;
            return ds;
        }

        #endregion

        #region Metodos publicos
        public static DataSet Obtener(String alias, String password)
        {
            DataSet ds = new DataSet();
            ds.Locale = System.Globalization.CultureInfo.CurrentCulture;
            using (MySqlCommand cmd = UtilidadAD.CreateSqlCommand())
            {
                cmd.CommandText = "UsuarioLogTraer";

                SeteaValorNulo("p_activo", cmd, MySqlDbType.Bit);
                SetearConNulo("p_alias", cmd, MySqlDbType.VarChar, alias);
                SetearConNulo("p_password", cmd, MySqlDbType.VarChar, password);

                using (MySqlDataAdapter da = new MySqlDataAdapter(cmd))
                {
                    da.Fill(ds);
                }
                cmd.Connection.Close();
            }
            ds.Tables[0].TableName = ServicioUsuario.DataTableName;
            return ds;
        }

        public static DataSet ListarBiblioteca(int? idUsuario, int? idEstado)
        {
            return ServicioUsuario.ListarBiblioteca(idUsuario,idEstado);
        }
        #endregion
        
    }
}
